import { http } from '@/utils/http'



export interface BannerItem {
  /**
   * 跳转链接
   */
  hrefUrl: string
  /**
   * id
   */
  id: string
  /**
   * banner链接
   */
  imgUrl: string
  /**
   * 跳转类型1、页面2、H5 3、小程序（小程序使用）
   */
  type: number
}


/**
 * 首页-广告区域数据
 */
export function getHomeBanner(distributionSite = 1 ){
  return http<BannerItem[]>({
    method: 'GET',
    url: '/home/banner',
    data:{
      distributionSite:distributionSite  
    }
  })
}

/**
 * 首页-前台类目-小程序
 */
export interface CategoryItem {
  /**
   * 展示图标
   */
  icon: string
  /**
   * id
   */
  id: string
  /**
   * 分类名称
   */
  name: string
}

export function getHomeCategoryHeadMutli() {
  return http<CategoryItem[]>({
    method:'GET',
     url:'/home/category/head/mutli'
  })
}

/**
 * 首页-人气推荐-小程序和app
 */

export interface HotMutliItem {
  /**
   * 说明
   */
  alt: string
  /**
   * id
   */
  id: string
  /**
   * 图片[ 移动端支持多个图片 ]
   */
  pictures: string[]
  /**
   * 跳转地址
   */
  target: string
  /**
   * 标题
   */
  title: string
  /**
   * 推荐类型
   */
  type: string
}

export function getHomeHotMutli(){
  return http<HotMutliItem[]>({
    method:'GET',
    url: '/home/hot/mutli',
  })
}


/**
 * 首页-新鲜好物-pc-小程序
 * 说明：默认值为 4，指定响应数据中商品的数量
 */

export interface NewItem {
  /**
   * 备注
   */
  desc: string
  /**
   * id
   */
  id: string
  /**
   * 商品名称
   */
  name: string
  /**
   * 商品图片链接
   */
  picture: string
  /**
   * 价格
   */
  price: number
}

export function getHomeNew(limit = 4){
  return http<NewItem[]>({
    method:'GET',
    url:"/home/new",
    data:{
      limit:limit
    }
  })
}

/**
 * 首页-猜你喜欢-请求参数
 */
interface GetHomeGoodsGuessLikeData {
  /**
   * 说明：页码默认值1
   */
  page?: number
  /**
   * 说明：页大小默认是10
   */
  pageSize?: number
}



export interface GetHomeGoodsGuessLikeResult {
  /**
   * 总条数
   */
  counts: number
  /**
   * 当前页数据
   */
  items: GuessItem[]
  /**
   * 当前页数
   */
  page: number
  /**
   * 总页数
   */
  pages: number
  /**
   * 每页条数
   */
  pageSize: number
}



export interface GuessItem {
  /**
   * 商品描述
   */
  desc: string
  /**
   * 商品折扣
   */
  discount: number
  /**
   * id
   */
  id: string
  /**
   * 商品名称
   */
  name: string
  /**
   * 商品已下单数量
   */
  orderNum: number
  /**
   * 商品图片
   */
  picture: string
  /**
   * 商品价格
   */
  price: number
}

/**
 * 首页-猜你喜欢-小程序和app
 */
export function getHomeGoodsGuessLike(data: GetHomeGoodsGuessLikeData) {
  return http<GetHomeGoodsGuessLikeResult>({
    method: 'GET',
    url: '/home/goods/guessLike',
    data: data,
  })
}




interface RecommendData {
  /**
   * 说明：分页页码
   */
  page?: number
  /**
   * 说明：分页数据每页条数
   */
  pageSize?: number
  /**
   * 说明：Tab 项的 id，默认查询全部 Tab 项的第 1 页数据
   */
  subType?: string
}


export interface RecommendResult {
  /**
   * 活动图片
   */
  bannerPicture: string
  /**
   * 活动对应的商品集合
   */
  goodsItems: GoodsItem[]
  /**
   * id信息
   */
  id: string
  /**
   * 子类选项
   */
  subTypes: SubType[]
  /**
   * 活动标题：特惠推荐
   */
  title: string
}

export interface GoodsItem {
  /**
   * 商品集合
   */
  items: Goods[]
  /**
   * 总数量
   */
  counts: number
  /**
   * 总页数
   */
  pages: number
  /**
   * 页码
   */
  page: number
  /**
   * 页容量
   */
  pageSize: number
}

export interface Goods {
  desc: string
  id: string
  name: string
  picture: string
  price: number
}

export interface SubType {
  /**
   * 子类选项id
   */
  id: string
  /**
   * 子类选项名称
   */
  title: string
}



/**
 * 1特惠推荐_小程序
 * @param data 推荐请求参数
 */


export function getHomePreferenceMutli(data: RecommendData) {
  return http<RecommendResult>({
    method: 'GET',
    url: '/home/preference/mutli',
    data: data,
  })
}

/**
 * 2爆款推荐_小程序
 * @param data 推荐请求参数
 */
export function getHomeInVogueMutli(data: RecommendData) {
  return http<RecommendResult>({
    method: 'GET',
    url: '/home/inVogue/mutli',
    data: data,
  })
}

/**
 * 通用推荐_小程序
 * @param url  什么格式的推荐
 * @param data 推荐请求参数
 */
export function getHomeRecommend(url: string, data: RecommendData) {
  return http<RecommendResult>({
    method: 'GET',
    url: url,
    data: data,
  })
}